package alejandro.castro.extras;

import alejandro.castro.bolita.Bolita;

import com.uqbar.vainilla.DeltaState;
import com.uqbar.vainilla.events.constants.Key;

public class Pegado extends EstadoComportamientoBloque {
	
	public static EstadoComportamientoBloque instancia;
	
	public static EstadoComportamientoBloque getInstance(){
		if(instancia == null){
			instancia = new Pegado();
		}
		return instancia;
	}
	
	@Override
	public void corregirPosicionCon(Bolita bolita, BloqueComponent bloque) {
		if(bloque.getBolitaPegada() != bolita){
			bolita.stop();
			bloque.setBolitaPegada(bolita);
		}
	}
	
	@Override
	public void update(BloqueComponent bloque, DeltaState deltaState) {
		if(bloque.getBolitaPegada() != null){
			if(deltaState.isKeyPressed(Key.SPACE)){	
				System.out.println("spaciadora");
				bloque.getBolitaPegada().play();
				Liberado.getInstance().corregirPosicionCon(bloque.getBolitaPegada(), bloque);
				bloque.setBolitaPegada(null);
			}
			else{
				bloque.getBolitaPegada().move(bloque.lastMoveX(), bloque.lastMoveY());
			}
		}
	}
}
